package com.axdoc.wallet.service;

import com.axdoc.wallet.exceptions.WalletBizException;

/**
 * 账户服务接口
 * 
 * @author sunzhaoli
 *
 */
public interface BizWalletService {
	/**
	 * 根据需求完成账户记账-支付成功
	 * @param require
	 * @throws WalletBizException
	 * @throws Exception
	 */
	public void WalletRecordPaySuccess(String require,String token) throws WalletBizException, Exception;
	/**
	 * 根据需求完成账户记账-退款成功
	 * @param require
	 * @throws WalletBizException
	 * @throws Exception
	 */
	public void WalletRecordRefundSuccess(String require,String token) throws WalletBizException, Exception;
	/**
	 * 根据需求完成账户记账-风控扣款
	 * @param require
	 * @throws WalletBizException
	 * @throws Exception
	 */
	public void WalletRecordRisk(String require,String token) throws WalletBizException, Exception;
	/**
	 * 根据需求完成账户记账-医生账户冻结金额
	 * @param require
	 * @throws WalletBizException
	 * @throws Exception
	 */
	public void WalletRecordFrozen(String require,String token) throws WalletBizException, Exception;
	/** 根据需求完成账户记账-交易完成
	 * @param require
	 * @param token
	 * @throws WalletBizException
	 * @throws Exception
	 */
	public void WalletRecordTransactionDone(String require,String token) throws WalletBizException, Exception;
	/**
	 * 根据需求完成账户记账-打款成功
	 * @param require
	 * @param token
	 * @throws WalletBizException
	 * @throws Exception
	 */
	public void WalletRecordDkSuccess(String require,String token) throws WalletBizException, Exception;
	/**
	 * 根据需求完成账户记账-打款失败
	 * @param require
	 * @param token
	 * @throws WalletBizException
	 * @throws Exception
	 */
	public void WalletRecordDkFailure(String bizNo, int balance, String docId, String msgId, String token) throws WalletBizException, Exception;
	/**
	 * 设置可提现金额
	 * @param balance
	 * @param token
	 * @throws WalletBizException
	 * @throws Exception
	 */
	public void WalletSetWithdrawalCan(int balance,String docId, String msgId, String token) throws WalletBizException, Exception;
	/**
	 * 设置提现中金额
	 * @param balance
	 * @param token
	 * @throws WalletBizException
	 * @throws Exception
	 */
	public void WalletSetWithdrawalIng(int balance,String docId, String msgId,String token) throws WalletBizException, Exception;
}
